# test 目录 CMakeLists.txt

# 对于 Windows: 防止覆盖父项目的编译器/链接器设置
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)

# 首先检查GTEST_AVAILABLE变量，该变量由3rdparty/CMakeLists.txt设置
if(GTEST_AVAILABLE)
    # 检查系统安装的GTest是否可用
    if(GTest_FOUND)
        message(STATUS "测试将使用系统安装的Google Test库")
        # GTest_INCLUDE_DIRS和GTEST_LIBRARIES变量已由find_package设置
    elseif(TARGET gtest)
        message(STATUS "测试将使用项目配置的Google Test库")
        # gtest目标已由3rdparty/CMakeLists.txt创建
    endif()

    # 包含子目录
    add_subdirectory(commonTest)
    add_subdirectory(pluginTest)
    add_subdirectory(sqliteTest)

    message(STATUS "已配置 Google Test 测试框架，分别创建了 common_test、plugin_test、sqlite_test 测试套件")
else()
    message(WARNING "未找到Google Test库，测试将被禁用。如需启用测试，请安装Google Test或确认3rdparty目录正确配置。")
endif()
